﻿using System;
using System.Collections.Generic;

namespace RGB.SharePoint.Util.EmailUtility
{
	interface IEmailConfigurationManager
	{
		/// <summary>
		/// Gets Email Template by it's ID
		/// </summary>
		/// <param name="emailTemplateId"></param>
		/// <returns></returns>
		EmailTemplate GetEmailTemplate(string emailTemplateId);

        /// <summary>
		/// Gets Email Template by it's ID by updating the email template properties
        /// </summary>
        /// <param name="emailTemplateId"></param>
        /// <param name="subjectProperties"></param>
        /// <param name="bodyProperties"></param>
        /// <returns></returns>
		EmailTemplate GetEmailTemplate(string emailTemplateId, IDictionary<string, string> subjectProperties, IDictionary<string, string> bodyProperties);

		/// <summary>
		/// Add new email template.
		/// </summary>
		/// <param name="emailTemplateId"></param>
		/// <param name="emailTemplateSubject"></param>
		/// <param name="emailTemplateBody"></param>
		void AddEmailTemplate(string emailTemplateId, string shortDescription, string emailTemplateSubject, string emailTemplateBody);
	}
}
